/**
 * @ClassName DataTypeTest
 * @Description 数据类型测试
 * @Author 李明忠
 * @Date 2025/5/12 15:33
 * @Version 1.0
 */
@SuppressWarnings("all")
public class DataTypeTest {
    /**
     * 类型转换
     * @param args
     */
    public static void main(String[] args) {
        //自动类型转换
        double d = 100;
        //强制类型转换
        int a = (int)3.14;
        //不相干的类型之间不可以转换
//        boolean f = 10;//编译报错
    }

    /**
     * char和String的测试
     * @param args
     */
    public static void main3(String[] args) {
        //char占用两个字节-使用Unicode编码
        //使用单引号
        char c = '我';
        char c1 = '爱';
        char c2 = '中';
        char c3 = '国';

        //String为引用类型
        //使用双引号括起来
        String str = "我爱中国";

        //其他数据类型转为String类型
        System.out.println(String.valueOf(100));
        System.out.println(String.valueOf(true));

        //String转为其他数据类型
        int a = Integer.parseInt("100");
        double d = Double.parseDouble("3.14");
    }
    /**
     * short和byte类型测试
     * @param args
     */
    public static void main2(String[] args) {
        //1.short占两个字节==>包装类是Short
        //  byte占一个字节==>包装类是Byte
        System.out.println(Short.MIN_VALUE);
        System.out.println(Short.MAX_VALUE);

        System.out.println(Byte.MIN_VALUE);
        System.out.println(Byte.MAX_VALUE);

        //2.short和byte对于字面值再byte和short的范围内且必须是整型字面量
        //则int的整型字面量底层会自动转为short/byte类型
        byte b = 127;
        short a = 180;
    }
    /**
     * long类型测试
     * @param args
     */
    public static void main1(String[] args) {
        //注意点一：
        //java中整数字面量默认为int
        //以下是：int类型转为long类型
        long a = 10;
        // long  int
        System.out.println(a);

        //注意点二：
        //通常在整数后面加上L或者l表示此数值为int类型
        long b = 10L;
        System.out.println(b);

        //long的包装类：Long
        System.out.println(Long.MIN_VALUE);
        System.out.println(Long.MAX_VALUE);
    }
}
